* gud.el (gud-last-last-frame): New variable.
authorJim Blandy <jimb@redhat.com>
Fri, 11 Jun 1993 11:28:28 +0000 (11:28 +0000)
committerJim Blandy <jimb@redhat.com>
Fri, 11 Jun 1993 11:28:28 +0000 (11:28 +0000)
(gud-display-frame): Save the frame we displayed in
gud-last-last-frame.
(gud-refresh): Force gud-display-frame to jump to the last frame
displayed, even if it has already done so once.

lisp/gud.el

index 411277c80612962c6293f2443a3c4b3f216f0846..98b12af6b72d9fb4d5f810873b0c6b953e351f45 100644 (file)
@@ -114,6 +114,11 @@ we're in the GUD buffer)."
 ;; indications of the current program counter.
 (defvar gud-last-frame nil)
 
+;; Used by gud-refresh, which should cause gud-display-frame to redisplay
+;; the last frame, even if it's been called before and gud-last-frame has
+;; been set to nil.
+(defvar gud-last-last-frame)
+
 ;; All debugger-specific information is collected here.
 ;; Here's how it works, in case you ever need to add a debugger to the mode.
 ;;
@@ -540,7 +545,8 @@ Obeying it means displaying in another window the specified file and line."
    (progn
      (gud-set-buffer)
      (gud-display-line (car gud-last-frame) (cdr gud-last-frame))
-     (setq gud-last-frame nil))))
+     (setq gud-last-last-frame gud-last-frame
+          gud-last-frame nil))))
 
 ;; Make sure the file named TRUE-FILE is in a buffer that appears on the screen
 ;; and that its line LINE is visible.
@@ -665,6 +671,7 @@ Obeying it means displaying in another window the specified file and line."
   "Fix up a possibly garbled display, and redraw the arrow."
   (interactive "P")
   (recenter arg)
+  (or gud-last-frame (setq gud-last-frame gud-last-last-frame))
   (gud-display-frame))
 \f
 ;;; Code for parsing expressions out of C code.  The single entry point is